package com.gitee.qdbp.general.system.api.permission.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 资源信息更新类
 *
 * @author zhh
 * @version 180514
 */
@OperateTraces(target = "where")
@DataIsolation(enable = false)
public class ResourceCoreUpdate extends ResourceCoreBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 使用场景是否更新为空值 **/
    private Boolean sceneTypeToNull;

    /** 资源名称是否更新为空值 **/
    private Boolean nameToNull;

    /** 资源类型(0.模块|1.菜单组|2.菜单|3.操作)是否更新为空值 **/
    private Boolean typeToNull;

    /** 页面地址是否更新为空值 **/
    private Boolean urlToNull;

    /** 资源选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 排序号(越小越靠前)是否更新为空值 **/
    private Boolean sortIndexToNull;
    /** 排序号(越小越靠前)的增加值 **/
    private Integer sortIndexAdd;

    /** 上级资源ID是否更新为空值 **/
    private Boolean parentIdToNull;

    /** 描述是否更新为空值 **/
    private Boolean descriptionToNull;

    /** 状态(0.正常|1.禁用)是否更新为空值 **/
    private Boolean stateToNull;

    /** 更新操作的条件 **/
    private ResourceCoreWhere where;

    /** 判断使用场景是否更新为空值 **/
    public Boolean isSceneTypeToNull() {
        return sceneTypeToNull;
    }

    /**
     * 设置使用场景是否更新为空值
     *
     * @param sceneTypeToNull 使用场景是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSceneTypeToNull(Boolean sceneTypeToNull) {
        this.sceneTypeToNull = sceneTypeToNull;
    }

    /** 判断资源名称是否更新为空值 **/
    public Boolean isNameToNull() {
        return nameToNull;
    }

    /**
     * 设置资源名称是否更新为空值
     *
     * @param nameToNull 资源名称是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setNameToNull(Boolean nameToNull) {
        this.nameToNull = nameToNull;
    }

    /** 判断资源类型(0.模块|1.菜单组|2.菜单|3.操作)是否更新为空值 **/
    public Boolean isTypeToNull() {
        return typeToNull;
    }

    /**
     * 设置资源类型(0.模块|1.菜单组|2.菜单|3.操作)是否更新为空值
     *
     * @param typeToNull 资源类型(0.模块|1.菜单组|2.菜单|3.操作)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTypeToNull(Boolean typeToNull) {
        this.typeToNull = typeToNull;
    }

    /** 判断页面地址是否更新为空值 **/
    public Boolean isUrlToNull() {
        return urlToNull;
    }

    /** 设置页面地址是否更新为空值 **/
    public void setUrlToNull(Boolean urlToNull) {
        this.urlToNull = urlToNull;
    }

    /** 判断资源选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置资源选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 判断排序号(越小越靠前)是否更新为空值 **/
    public Boolean isSortIndexToNull() {
        return sortIndexToNull;
    }

    /**
     * 设置排序号(越小越靠前)是否更新为空值
     *
     * @param sortIndexToNull 排序号(越小越靠前)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSortIndexToNull(Boolean sortIndexToNull) {
        this.sortIndexToNull = sortIndexToNull;
    }

    /** 获取排序号(越小越靠前)的增加值 **/
    public Integer getSortIndexAdd() {
        return sortIndexAdd;
    }

    /** 设置排序号(越小越靠前)的增加值 **/
    public void setSortIndexAdd(Integer sortIndexAdd) {
        this.sortIndexAdd = sortIndexAdd;
    }

    /** 判断上级资源ID是否更新为空值 **/
    public Boolean isParentIdToNull() {
        return parentIdToNull;
    }

    /**
     * 设置上级资源ID是否更新为空值
     *
     * @param parentIdToNull 上级资源ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setParentIdToNull(Boolean parentIdToNull) {
        this.parentIdToNull = parentIdToNull;
    }

    /** 判断描述是否更新为空值 **/
    public Boolean isDescriptionToNull() {
        return descriptionToNull;
    }

    /** 设置描述是否更新为空值 **/
    public void setDescriptionToNull(Boolean descriptionToNull) {
        this.descriptionToNull = descriptionToNull;
    }

    /** 判断状态(0.正常|1.禁用)是否更新为空值 **/
    public Boolean isStateToNull() {
        return stateToNull;
    }

    /**
     * 设置状态(0.正常|1.禁用)是否更新为空值
     *
     * @param stateToNull 状态(0.正常|1.禁用)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setStateToNull(Boolean stateToNull) {
        this.stateToNull = stateToNull;
    }

    /** 获取更新操作的条件 **/
    public ResourceCoreWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public ResourceCoreWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new ResourceCoreWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(ResourceCoreWhere where) {
        this.where = where;
    }
}